/**
 */
package gatperdut.chato.model.Chato.Item;

import org.eclipse.emf.cdo.CDOObject;
import org.eclipse.emf.common.util.EList;

/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Generic Item</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link gatperdut.chato.model.Chato.Item.GenericItem#getShortDesc <em>Short Desc</em>}</li>
 *   <li>{@link gatperdut.chato.model.Chato.Item.GenericItem#getLongDesc <em>Long Desc</em>}</li>
 *   <li>{@link gatperdut.chato.model.Chato.Item.GenericItem#getFullDesc <em>Full Desc</em>}</li>
 *   <li>{@link gatperdut.chato.model.Chato.Item.GenericItem#getKeywords <em>Keywords</em>}</li>
 *   <li>{@link gatperdut.chato.model.Chato.Item.GenericItem#getStack <em>Stack</em>}</li>
 *   <li>{@link gatperdut.chato.model.Chato.Item.GenericItem#getFood <em>Food</em>}</li>
 *   <li>{@link gatperdut.chato.model.Chato.Item.GenericItem#getDrink <em>Drink</em>}</li>
 *   <li>{@link gatperdut.chato.model.Chato.Item.GenericItem#getW <em>W</em>}</li>
 *   <li>{@link gatperdut.chato.model.Chato.Item.GenericItem#getWear <em>Wear</em>}</li>
 * </ul>
 * </p>
 *
 * @see gatperdut.chato.model.Chato.Item.ItemPackage#getGenericItem()
 * @model abstract="true"
 * @extends CDOObject
 * @generated
 */
public interface GenericItem extends CDOObject {
    /**
     * Returns the value of the '<em><b>Short Desc</b></em>' attribute.
     * <!-- begin-user-doc -->
     * <p>
     * If the meaning of the '<em>Short Desc</em>' attribute isn't clear,
     * there really should be more of a description here...
     * </p>
     * <!-- end-user-doc -->
     * @return the value of the '<em>Short Desc</em>' attribute.
     * @see #setShortDesc(String)
     * @see gatperdut.chato.model.Chato.Item.ItemPackage#getGenericItem_ShortDesc()
     * @model required="true"
     * @generated
     */
    String getShortDesc();

    /**
     * Sets the value of the '{@link gatperdut.chato.model.Chato.Item.GenericItem#getShortDesc <em>Short Desc</em>}' attribute.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @param value the new value of the '<em>Short Desc</em>' attribute.
     * @see #getShortDesc()
     * @generated
     */
    void setShortDesc(String value);

    /**
     * Returns the value of the '<em><b>Long Desc</b></em>' attribute.
     * <!-- begin-user-doc -->
     * <p>
     * If the meaning of the '<em>Long Desc</em>' attribute isn't clear,
     * there really should be more of a description here...
     * </p>
     * <!-- end-user-doc -->
     * @return the value of the '<em>Long Desc</em>' attribute.
     * @see #setLongDesc(String)
     * @see gatperdut.chato.model.Chato.Item.ItemPackage#getGenericItem_LongDesc()
     * @model required="true"
     * @generated
     */
    String getLongDesc();

    /**
     * Sets the value of the '{@link gatperdut.chato.model.Chato.Item.GenericItem#getLongDesc <em>Long Desc</em>}' attribute.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @param value the new value of the '<em>Long Desc</em>' attribute.
     * @see #getLongDesc()
     * @generated
     */
    void setLongDesc(String value);

    /**
     * Returns the value of the '<em><b>Full Desc</b></em>' attribute.
     * <!-- begin-user-doc -->
     * <p>
     * If the meaning of the '<em>Full Desc</em>' attribute isn't clear,
     * there really should be more of a description here...
     * </p>
     * <!-- end-user-doc -->
     * @return the value of the '<em>Full Desc</em>' attribute.
     * @see #setFullDesc(String)
     * @see gatperdut.chato.model.Chato.Item.ItemPackage#getGenericItem_FullDesc()
     * @model required="true"
     * @generated
     */
    String getFullDesc();

    /**
     * Sets the value of the '{@link gatperdut.chato.model.Chato.Item.GenericItem#getFullDesc <em>Full Desc</em>}' attribute.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @param value the new value of the '<em>Full Desc</em>' attribute.
     * @see #getFullDesc()
     * @generated
     */
    void setFullDesc(String value);

    /**
     * Returns the value of the '<em><b>Keywords</b></em>' attribute list.
     * The list contents are of type {@link java.lang.String}.
     * <!-- begin-user-doc -->
     * <p>
     * If the meaning of the '<em>Keywords</em>' attribute list isn't clear,
     * there really should be more of a description here...
     * </p>
     * <!-- end-user-doc -->
     * @return the value of the '<em>Keywords</em>' attribute list.
     * @see gatperdut.chato.model.Chato.Item.ItemPackage#getGenericItem_Keywords()
     * @model required="true"
     * @generated
     */
    EList<String> getKeywords();

    /**
     * Returns the value of the '<em><b>Stack</b></em>' containment reference.
     * <!-- begin-user-doc -->
     * <p>
     * If the meaning of the '<em>Stack</em>' containment reference isn't clear,
     * there really should be more of a description here...
     * </p>
     * <!-- end-user-doc -->
     * @return the value of the '<em>Stack</em>' containment reference.
     * @see #setStack(Stack)
     * @see gatperdut.chato.model.Chato.Item.ItemPackage#getGenericItem_Stack()
     * @model containment="true"
     * @generated
     */
    Stack getStack();

    /**
     * Sets the value of the '{@link gatperdut.chato.model.Chato.Item.GenericItem#getStack <em>Stack</em>}' containment reference.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @param value the new value of the '<em>Stack</em>' containment reference.
     * @see #getStack()
     * @generated
     */
    void setStack(Stack value);

    /**
     * Returns the value of the '<em><b>Food</b></em>' containment reference.
     * <!-- begin-user-doc -->
     * <p>
     * If the meaning of the '<em>Food</em>' containment reference isn't clear,
     * there really should be more of a description here...
     * </p>
     * <!-- end-user-doc -->
     * @return the value of the '<em>Food</em>' containment reference.
     * @see #setFood(Food)
     * @see gatperdut.chato.model.Chato.Item.ItemPackage#getGenericItem_Food()
     * @model containment="true"
     * @generated
     */
    Food getFood();

    /**
     * Sets the value of the '{@link gatperdut.chato.model.Chato.Item.GenericItem#getFood <em>Food</em>}' containment reference.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @param value the new value of the '<em>Food</em>' containment reference.
     * @see #getFood()
     * @generated
     */
    void setFood(Food value);

    /**
     * Returns the value of the '<em><b>Drink</b></em>' containment reference.
     * <!-- begin-user-doc -->
     * <p>
     * If the meaning of the '<em>Drink</em>' containment reference isn't clear,
     * there really should be more of a description here...
     * </p>
     * <!-- end-user-doc -->
     * @return the value of the '<em>Drink</em>' containment reference.
     * @see #setDrink(Drink)
     * @see gatperdut.chato.model.Chato.Item.ItemPackage#getGenericItem_Drink()
     * @model containment="true"
     * @generated
     */
    Drink getDrink();

    /**
     * Sets the value of the '{@link gatperdut.chato.model.Chato.Item.GenericItem#getDrink <em>Drink</em>}' containment reference.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @param value the new value of the '<em>Drink</em>' containment reference.
     * @see #getDrink()
     * @generated
     */
    void setDrink(Drink value);

    /**
     * Returns the value of the '<em><b>W</b></em>' attribute.
     * <!-- begin-user-doc -->
     * <p>
     * If the meaning of the '<em>W</em>' attribute isn't clear,
     * there really should be more of a description here...
     * </p>
     * <!-- end-user-doc -->
     * @return the value of the '<em>W</em>' attribute.
     * @see #setW(int)
     * @see gatperdut.chato.model.Chato.Item.ItemPackage#getGenericItem_W()
     * @model required="true"
     * @generated
     */
    int getW();

    /**
     * Sets the value of the '{@link gatperdut.chato.model.Chato.Item.GenericItem#getW <em>W</em>}' attribute.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @param value the new value of the '<em>W</em>' attribute.
     * @see #getW()
     * @generated
     */
    void setW(int value);

    /**
     * Returns the value of the '<em><b>Wear</b></em>' containment reference.
     * <!-- begin-user-doc -->
     * <p>
     * If the meaning of the '<em>Wear</em>' containment reference isn't clear,
     * there really should be more of a description here...
     * </p>
     * <!-- end-user-doc -->
     * @return the value of the '<em>Wear</em>' containment reference.
     * @see #setWear(Wear)
     * @see gatperdut.chato.model.Chato.Item.ItemPackage#getGenericItem_Wear()
     * @model containment="true"
     * @generated
     */
    Wear getWear();

    /**
     * Sets the value of the '{@link gatperdut.chato.model.Chato.Item.GenericItem#getWear <em>Wear</em>}' containment reference.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @param value the new value of the '<em>Wear</em>' containment reference.
     * @see #getWear()
     * @generated
     */
    void setWear(Wear value);

} // GenericItem
